package com.quanyan.place.entity.dto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import com.quanyan.assets.response.RespCoupon;
import com.quanyan.orderpay.request.ReqPayInfo;
import com.quanyan.place.entity.TbBizPlaceMemberCard;
import com.quanyan.place.entity.TbBizPlaceUnitSalePlan;
import com.quanyan.place.entity.apireq.ReqOrderOperate;
import com.quanyan.place.entity.apireq.ReqPlaceOrderInfo;
import com.quanyan.place.entity.apireq.ReqPlaceTicketInfo;
import com.quanyan.place.entity.vo.PlaceMemberCardVo;

/**
 * Created by zhaohui on 2017/4/17.
 * APP订单拆分
 */
public class OrderItemCostDTO implements Serializable {
	private static final long serialVersionUID = -7140724536626352201L;

	private List<ReqPayInfo> payInfoList;

    private List<TbBizPlaceUnitSalePlan> tbBizPlaceUnitSalePlanList;

    private Integer orderType;

    private ReqPlaceOrderInfo reqPlaceOrderInfo;/**订场请求对象**/

    private TbBizPlaceMemberCard tbBizPlaceMemberCard;

    /**门票请求对象**/
    private ReqPlaceTicketInfo reqPlaceTicketInfo;
    private PlaceMemberCardVo placeMemberCardVo;

    private Map<String,Map<Integer,BigDecimal>> orderItemPay = new HashMap<>();

    //销售计划ID、订单明细ID
    private Map<String,String> saleOrderMap = new HashMap<String, String>();
    //销售计划ID、支付明细
    private Map<String,LinkedList<PayItemCostDTO>> payItemMap = new HashMap<String, LinkedList<PayItemCostDTO>>();
    //优惠卷
    private RespCoupon respCoupon;
    
    public RespCoupon getRespCoupon() {
		return respCoupon;
	}

	public void setRespCoupon(RespCoupon respCoupon) {
		this.respCoupon = respCoupon;
	}

	/**支付成功回调，退款回调对象**/
    private ReqOrderOperate reqOrderOperate;
    
	public Map<String, LinkedList<PayItemCostDTO>> getPayItemMap() {
		return payItemMap;
	}

	public void setPayItemMap(Map<String, LinkedList<PayItemCostDTO>> payItemMap) {
		this.payItemMap = payItemMap;
	}

	
    public Map<String, String> getSaleOrderMap() {
		return saleOrderMap;
	}

	public void setSaleOrderMap(Map<String, String> saleOrderMap) {
		this.saleOrderMap = saleOrderMap;
	}

	public List<ReqPayInfo> getPayInfoList() {
        return payInfoList;
    }

    public void setPayInfoList(List<ReqPayInfo> payInfoList) {
        this.payInfoList = payInfoList;
    }

    public List<TbBizPlaceUnitSalePlan> getTbBizPlaceUnitSalePlanList() {
        return tbBizPlaceUnitSalePlanList;
    }

    public void setTbBizPlaceUnitSalePlanList(List<TbBizPlaceUnitSalePlan> tbBizPlaceUnitSalePlanList) {
        this.tbBizPlaceUnitSalePlanList = tbBizPlaceUnitSalePlanList;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public ReqPlaceOrderInfo getReqPlaceOrderInfo() {
        return reqPlaceOrderInfo;
    }

    public void setReqPlaceOrderInfo(ReqPlaceOrderInfo reqPlaceOrderInfo) {
        this.reqPlaceOrderInfo = reqPlaceOrderInfo;
    }

    public TbBizPlaceMemberCard getTbBizPlaceMemberCard() {
        return tbBizPlaceMemberCard;
    }

    public void setTbBizPlaceMemberCard(TbBizPlaceMemberCard tbBizPlaceMemberCard) {
        this.tbBizPlaceMemberCard = tbBizPlaceMemberCard;
    }

    public Map<String, Map<Integer, BigDecimal>> getOrderItemPay() {
        return orderItemPay;
    }

    public void setOrderItemPay(Map<String, Map<Integer, BigDecimal>> orderItemPay) {
        this.orderItemPay = orderItemPay;
    }

    public ReqPlaceTicketInfo getReqPlaceTicketInfo() {
        return reqPlaceTicketInfo;
    }

    public void setReqPlaceTicketInfo(ReqPlaceTicketInfo reqPlaceTicketInfo) {
        this.reqPlaceTicketInfo = reqPlaceTicketInfo;
    }


    public PlaceMemberCardVo getPlaceMemberCardVo() {
        return placeMemberCardVo;
    }

    public void setPlaceMemberCardVo(PlaceMemberCardVo placeMemberCardVo) {
        this.placeMemberCardVo = placeMemberCardVo;
    }

    public ReqOrderOperate getReqOrderOperate() {
        return reqOrderOperate;
    }

    public void setReqOrderOperate(ReqOrderOperate reqOrderOperate) {
        this.reqOrderOperate = reqOrderOperate;
    }
}
